1. Field of Invention
The present invention relates generally to audio processing and, more particularly, to envelope-based acoustic echo cancellation in an audio system.
2. Description of Related Art
Conventionally, when audio from a far-end environment is presented through a speaker of a near-end communication device, sounds from a far-end audio signal may be picked up by microphones or other audio sensors of the near-end communication device. As such, the sounds from the far-end audio signal may be sent back to the far-end environment resulting in an echo to a far-end listener.
Conventionally, acoustic echo cancellation (AEC) systems may take the far-end audio signal and use it to predict the echo of the far-end audio signal (after being played through the speaker and picked up by the microphone). Typically, a transfer function that describes a path from the far-end audio signal, through the speaker, through an acoustic environment, and back to the microphone is linearly modeled to predict the echo. These AEC systems are performed in a waveform domain whereby the echo is predicted, inverted, delayed, and subtracted out from a near-end audio signal.
Disadvantageously, there are many problems with these conventional AEC systems. First, the transfer function (i.e., relationship between the far-end audio signal and the echo) is typically constantly changing, since the acoustic environment is rarely fixed. In the case of a handheld communication device (e.g., a cellular phone), there may also be reflections off a face of a user. The prior art AEC systems are adaptive and continually update the transfer function. However, errors usually occur in the echo prediction due to the changing environment. If the echo prediction is even slightly incorrect, or an applied delay is incorrect, residual echo will remain.
A second disadvantage is that these prior art AEC systems typically use a linear model (i.e., linear filter) to predict the echo. However, the transfer function is often not linear (e.g., if there are non-linearities in the speaker which may cause distortion). As a result, poor echo prediction may occur.
Other AEC systems may attempt to overcome this disadvantage by introducing non-linearity to the echo prediction model. However, this results in more complexity. For example, non-linearity may become problematic in cellular phones or speakerphones with cheap components. The prediction may be difficult to obtain unless an exact model of the speaker (e.g., of the cellular phone or speakerphone) is known.